Application programming interfaces (APIs) allow for communication between applications, threads, objects and other computing processes. In some cases, APIs may provide a method to allow the other process to access resources or functions without needing to implement the underlying code independently.